package main

import (
	"flag"
	"sync"
)

// 定义命令行参数意义 -n 指定使用几个  CPU 运行
var flagnum1 = flag.Int("n", 1, "demo test")

// 定义函数是循环累加
func sumInt() {
	sum := 0
	i := 0
	for {
		sum += i
		i++
	}
}

func main() {
	// 把用户传递的命令行参数解析为对应变量的值
	flag.Parse()

	// 创建计数器
	wg := new(sync.WaitGroup)
	// 计数器中添加 1 个数量
	wg.Add(1)

	// 通过协程进行运行 sumInt
	for i := 0; i < *flagnum1; i++ {
		go sumInt()
	}

	// 计数器阻塞
	wg.Wait()
}
